236
|
6 Applications and Methods in Biosignal Processing
subplot(6,1,4)
%calc second derivative
ddyddx = gradient(dydx) ./ gradient(filt_time_angle);
BA = find(ddyddx(1:end-1)>0 & ddyddx(2:end) < 0); %find maxima
BB = find(ddyddx(1:end-1) <0 & ddyddx(2:end) > 0); %find minima
plot((filt_time_angle), filt_angle,'k-')
hold on
%plot(time_angle(1:length(ddyddx)),ddyddx, 'k:')
scatter(filt_time_angle(BA), filt_angle(BA), 100, 'kx') %display ...
maxima
scatter(filt_time_angle(BB), filt_angle(BB), 100, 'kx') %display ...
minima
xlabel('Time t/s')
ylabel('Angle \alpha/deg')
axis([0 9 0 200])
title('Second Derivative Zeros in Angle Data')
subplot(6,1,5)
%calc first derivative
dval = gradient(filt_force) ./ gradient(filt_time_force);
CA = find(dval(1:end-1)>0 & dval(2:end) < 0); %find maxima
CB = find(dval(1:end-1) <0 & dval(2:end) > 0); %find minima
plot(filt_time_force, filt_force, 'k-')
hold on
%plot(time_force(1:length(dval(11:end))), dval(11:end), 'k:')
scatter(filt_time_force(CA), filt_force(CA), 100, 'kx') %display ...
maxima
scatter(filt_time_force(CB), filt_force(CB), 100, 'kx') %display ...
minima
xlabel('Time t/s')
ylabel('Force F/N')
axis([0 10 250 500])
title('First Derivative Zeros in Force Data')
subplot(6,1,6)
%calc second derivative
ddval = gradient(dval)./ gradient(filt_time_force);
DA = find(ddval(1:end-1)>0 & ddval(2:end) < 0); %find maxima
DB = find(ddval(1:end-1) <0 & ddval(2:end) > 0); %find minima
plot(filt_time_force, filt_force, 'k-')
hold on